DESTDIR ?=
prefix  ?= /usr/local
execdir ?= $(prefix)/bin
mandir  ?= $(prefix)/share/man
QEMUDIR ?= ../

CFLAGS := -g -Wall
CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
CFLAGS += -DQEMU_TOOL -DQEMU_IMG
CFLAGS += -I$(QEMUDIR) -I.

QEMUSRC = $(wildcard $(QEMUDIR)/block-*.c)
OBJ = block.o aes.o $(QEMUSRC:$(QEMUDIR)/%.c=%.o)

LDLIBS = -lz -lrt

all: qemu-nbd

qemu-nbd: $(OBJ) qemu-nbd.o nbd.o bits.o
	$(CC) -o $@ $(LDLIBS) $^

clean:
	$(RM) *~ *.o qemu-nbd qemu-nbd.8.gz

install: qemu-nbd qemu-nbd.8.gz
	install -d $(DESTDIR)$(execdir)
	install -m755 qemu-nbd $(DESTDIR)$(execdir)
	install -d $(DESTDIR)$(mandir)/man8
	install -m644 qemu-nbd.8.gz $(DESTDIR)$(mandir)/man8/qemu-nbd.8.gz

qemu-nbd.8: qemu-nbd
	help2man -N -o $@ ./$<

qemu-nbd.8.gz: qemu-nbd.8
	gzip -f $<

%.o: $(QEMUDIR)/%.c
	$(CC) -o $@ -c $(CFLAGS) $<

block.o: $(QEMUDIR)/block.c
block-bochs.o: $(QEMUDIR)/block-bochs.c
block-cloop.o: $(QEMUDIR)/block-cloop.c
block-cow.o: $(QEMUDIR)/block-cow.c
block-dmg.o: $(QEMUDIR)/block-dmg.c
block-qcow.o: $(QEMUDIR)/block-qcow.c
block-vmdk.o: $(QEMUDIR)/block-vmdk.c
block-vpc.o: $(QEMUDIR)/block-vpc.c
block-vvfat.o: $(QEMUDIR)/block-vvfat.c
aes.o: $(QEMUDIR)/aes.c
